package linter.linterjava.service;

import com.github.pagehelper.PageInfo;
import linter.linterjava.POJO.DO.Curriculum;
import com.baomidou.mybatisplus.extension.service.IService;
import linter.linterjava.POJO.DO.CurriculumPlan;
import linter.linterjava.POJO.DTO.CurriculumDTO;
import linter.linterjava.POJO.DTO.CurriculumPlanDTO;
import linter.linterjava.POJO.UtilDTO.PageInfoDTO;

import java.util.List;

/**
* @author 北煜
* @description 针对表【curriculum(课程详情表)】的数据库操作Service
* @createDate 2024-07-07 12:15:15
*/
public interface CurriculumService extends IService<Curriculum> {

    /**
     * @param curriculumDTO 课程类&分页类&排序类 -- 课程名称，类型，课程节点
     * @param uuid 用户id
     * @return 返回课程列表
     */
    List<Curriculum> queryCurriculum(CurriculumDTO curriculumDTO, Long uuid);

    /**
     * @param uuid 用户id
     * @param curriculumDTO 分页类&排序类&课程类
     * @return 返回课程分页信息
     */
    PageInfo<Curriculum> getAllCurriculumByType(CurriculumDTO curriculumDTO, Long uuid);

    /**
     * @param curriculumDTO 分页类&排序类&课程类
     * @param uuid 用户id
     * @return 返回单个课程数据
     */
    Curriculum getCurriculumById(CurriculumDTO curriculumDTO, Long uuid);

    /**
     * @param pageInfoDTO 分页
     * @param uuid 用户id
     * @return 返回课程库分页信息
     */
    PageInfo<Curriculum> getCurriculumBase(PageInfoDTO pageInfoDTO, Long uuid);
}
